import torch
import numpy as np

from decord import VideoReader
from decord import cpu

import uuid
import os

import torchvision.transforms as transforms
import math
import time
import cv2
import random


GLOBAL_SEED=1912


def add_points_to_image(image, points, size=5):
    # h, w, = image.shape[:2]
    # print(image.shape)
    # print(image.dtype)
    # print(points)
    # print(size)
    # print('*' * 40)
    for x, y in points['end']:
        cv2.circle(image, (y, x), size, (255, 0, 0), -1)
    for x, y in points['start']:
        cv2.circle(image, (y, x), size, (0, 0, 255), -1)

    return image


def to_image(tensor):
    tensor = tensor.squeeze(0).permute(1, 2, 0).contiguous()
    arr = tensor.detach().cpu().numpy()
    arr = (arr - arr.min()) / (arr.max() - arr.min())
    arr = arr * 255
    return arr.astype(np.uint8)


def seed_everything(seed):
    if seed == -1:
        seed = gen_new_seed()
    random.seed(seed)
    np.random.seed(seed)
    torch.manual_seed(seed)
    torch.cuda.manual_seed_all(seed)
    return seed


def gen_new_seed():
    return random.randint(0, 65535)


def resize_800(image):
    w, h = image.size
    if w > h:
        ratio = w * 1.0 / 800
        new_w, new_h = 800, int(h * 1.0 / ratio)
    else:
        ratio = h * 1.0 / 800
        new_w, new_h = int(w * 1.0 / ratio), 800
    image = image.resize((new_w, new_h))
    return image


def prompts(name, description):
    def decorator(func):
        func.name = name
        func.description = description
        return func

    return decorator


def gen_new_name(orginal_name, suffix="update", ext="png"):
    root_path, filename = os.path.split(orginal_name)
    name_split = os.path.splitext(filename)[0].split('_')
    this_new_uuid = str(uuid.uuid4())[:3]
    timestamp = int(math.modf(time.time())[0] * 1000)
    prev_file_name = name_split[0]
    # if len(name_split) == 1:
    #     prev_file_name = name_split[0]
    # else:
    #     # assert len(name_split) == 3
    #     prev_file_name = name_split[0]
    if len(suffix.strip()) == 0:
        new_file_name = f'{this_new_uuid}{timestamp:03d}_{prev_file_name}.{ext}'
    else:
        new_file_name = f'{this_new_uuid}{timestamp:03d}_{prev_file_name}_{suffix}.{ext}'
    return os.path.join(root_path, new_file_name)


def dilate_mask(mask, dilate_factor=9):
    # dilate mask
    mask = mask.astype(np.uint8)
    dilated_mask = cv2.dilate(mask, np.ones((dilate_factor, dilate_factor), np.uint8), iterations=1)
    
    return dilated_mask
    

def cal_dilate_factor(mask):
    area = mask[mask != 0].sum()
    edge = cv2.Canny(mask, 30, 226)
    perimeter = edge.sum()
    ratio = 0
    if perimeter > 0:
        ratio = int(area * 0.55 / perimeter)
    if ratio % 2 == 0:
        ratio += 1
    return ratio


def blend_gt2pt(old_image, new_image, sigma=0.15, steps=100):
    new_size = new_image.size
    old_size = old_image.size
    easy_img = np.array(new_image)
    gt_img_array = np.array(old_image)
    pos_w = (new_size[0] - old_size[0]) // 2
    pos_h = (new_size[1] - old_size[1]) // 2

    kernel_h = cv2.getGaussianKernel(old_size[1], old_size[1] * sigma)
    kernel_w = cv2.getGaussianKernel(old_size[0], old_size[0] * sigma)
    kernel = np.multiply(kernel_h, np.transpose(kernel_w))

    kernel[steps:-steps, steps:-steps] = 1
    kernel[:steps, :steps] = kernel[:steps, :steps] / kernel[steps - 1, steps - 1]
    kernel[:steps, -steps:] = kernel[:steps, -steps:] / kernel[steps - 1, -(steps)]
    kernel[-steps:, :steps] = kernel[-steps:, :steps] / kernel[-steps, steps - 1]
    kernel[-steps:, -steps:] = kernel[-steps:, -steps:] / kernel[-steps, -steps]
    kernel = np.expand_dims(kernel, 2)
    kernel = np.repeat(kernel, 3, 2)

    weight = np.linspace(0, 1, steps)
    top = np.expand_dims(weight, 1)
    top = np.repeat(top, old_size[0] - 2 * steps, 1)
    top = np.expand_dims(top, 2)
    top = np.repeat(top, 3, 2)

    weight = np.linspace(1, 0, steps)
    down = np.expand_dims(weight, 1)
    down = np.repeat(down, old_size[0] - 2 * steps, 1)
    down = np.expand_dims(down, 2)
    down = np.repeat(down, 3, 2)

    weight = np.linspace(0, 1, steps)
    left = np.expand_dims(weight, 0)
    left = np.repeat(left, old_size[1] - 2 * steps, 0)
    left = np.expand_dims(left, 2)
    left = np.repeat(left, 3, 2)

    weight = np.linspace(1, 0, steps)
    right = np.expand_dims(weight, 0)
    right = np.repeat(right, old_size[1] - 2 * steps, 0)
    right = np.expand_dims(right, 2)
    right = np.repeat(right, 3, 2)

    kernel[:steps, steps:-steps] = top
    kernel[-steps:, steps:-steps] = down
    kernel[steps:-steps, :steps] = left
    kernel[steps:-steps, -steps:] = right

    pt_gt_img = easy_img[pos_h:pos_h + old_size[1], pos_w:pos_w + old_size[0]]
    gaussian_gt_img = kernel * gt_img_array + (1 - kernel) * pt_gt_img  # gt img with blur img
    gaussian_gt_img = gaussian_gt_img.astype(np.int64)
    easy_img[pos_h:pos_h + old_size[1], pos_w:pos_w + old_size[0]] = gaussian_gt_img
    gaussian_img = Image.fromarray(easy_img)
    return gaussian_img


def loadvideo_decord(sample, sample_rate_scale=1,new_width=384, new_height=384, clip_len=8, frame_sample_rate=2,num_segment=1):
    fname = sample
    vr = VideoReader(fname, width=new_width, height=new_height,
                                     num_threads=1, ctx=cpu(0))
    # handle temporal segments
    converted_len = int(clip_len * frame_sample_rate)
    seg_len = len(vr) //num_segment
    duration = max(len(vr) // vr.get_avg_fps(),8)

    all_index = []
    for i in range(num_segment):
        index = np.linspace(0, seg_len, num=int(duration))
        index = np.clip(index, 0, seg_len - 1).astype(np.int64)
        index = index + i*seg_len
        all_index.extend(list(index))

    all_index = all_index[::int(sample_rate_scale)]
    vr.seek(0)
    buffer = vr.get_batch(all_index).asnumpy()
    return buffer


class LoadVideo:
    def __init__(self):
        self.video_path = None
        self.data = None

    def __call__(self, video_path):
        if self.video_path == video_path:
            return self.data
        self.data = self.load_original_video_decord(video_path)
        self.video_path = video_path
        return self.data

    def load_original_video_decord(self, sample, sample_rate_scale=1, clip_len=8, frame_sample_rate=2,num_segment=1):
        fname = sample
        vr = VideoReader(fname, 
                         num_threads=1, 
                         ctx=cpu(0)
            )
        # handle temporal segments
        converted_len = int(clip_len * frame_sample_rate)
        seg_len = len(vr) //num_segment
        duration = max(len(vr) // vr.get_avg_fps(),8)

        all_index = []
        for i in range(num_segment):
            index = np.linspace(0, seg_len, num=int(duration))
            index = np.clip(index, 0, seg_len - 1).astype(np.int64)
            index = index + i*seg_len
            all_index.extend(list(index))

        all_index = all_index[::int(sample_rate_scale)]
        vr.seek(0)
        buffer = vr.get_batch(all_index).asnumpy()
        return buffer
    

def loadvideo_decord_origin(self, sample, sample_rate_scale=1,new_width=384, new_height=384, clip_len=8, frame_sample_rate=2,num_segment=1):
    fname = sample
    vr = VideoReader(fname, 
                                    num_threads=1, ctx=cpu(0))
    # handle temporal segments
    converted_len = int(clip_len * frame_sample_rate)
    seg_len = len(vr) //num_segment
    duration = max(len(vr) // vr.get_avg_fps(),8)

    all_index = []
    for i in range(num_segment):
        index = np.linspace(0, seg_len, num=int(duration))
        index = np.clip(index, 0, seg_len - 1).astype(np.int64)
        index = index + i*seg_len
        all_index.extend(list(index))

    all_index = all_index[::int(sample_rate_scale)]
    vr.seek(0)
    buffer = vr.get_batch(all_index).asnumpy()
    return buffer





tra_array = ['tennis',
'bear cub',
'observatory',
'bicycle',
'hillside',
'judge',
'watercolor illustration',
'granite',
'lobster',
'livery',
'stone',
'ceramic',
'ranch',
'cloth',
'smile',
'building',
'tattoo',
'cricketer',
'cheek',
'pear',
'source',
'winter',
'surface',
'spray',
'ceremony',
'magic',
'curve',
'container',
'fair',
'medicine',
'baby',
'tennis racquet',
'ornament',
'bamboo',
'duckling',
'song',
'safari',
'team presentation',
'daffodil',
'cross',
'toothpaste',
'shield',
'fashion model',
'capsule',
'map',
'creek',
'glass house',
'glass plate',
'siding',
'corner',
'water buffalo',
'bison',
'figure skater',
'diploma',
'tire',
'race',
'cable car',
'brain',
'gas stove',
'soap bubble',
'palette',
'snowboard',
'school child',
'trench coat',
'monk',
'fiber',
'kitchen window',
'sunglass',
'coffee',
'security',
'strawberry',
'penguin',
'tree root',
'loaf',
'engagement ring',
'lamb',
'vector cartoon illustration',
'sandwich',
'mountain village',
'shape',
'charm',
'fiction',
'knot',
'greenhouse',
'sushi',
'text',
'disaster',
'trophy',
'gang',
'strap',
'soccer game',
'cardinal',
'tee',
'turtle',
'water surface',
'grassland',
'dolphin',
'store',
'dirt',
'iceberg',
'pergola',
'farmer market',
'publicity portrait',
'tote bag',
'teenage girl',
'view mirror',
'session',
'commuter',
'dressing room',
'tricycle',
'christmas ball',
'headlight',
'police',
'armchair',
'chart',
'yacht',
'saw',
'printer',
'rock band',
'gingerbread house',
'tag',
'table lamp',
'hockey game',
'slope',
'font',
'wicker basket',
'jewelry',
'quarter',
'software',
'weapon',
'pin',
'worship',
'painter',
'goal',
'morning light',
'bike',
'baseball bat',
'elevator',
'cuisine',
'sausage',
'stunt',
'wrestler',
'statue',
'landing',
'pillar',
'willow tree',
'sea wave',
'chicken',
'peanut',
'muscle',
'bob',
'tv genre',
'bathroom window',
'radish',
'textile',
'pelican',
'marketplace',
'crest',
'elevation map',
'gift',
'parish',
'traffic light',
'campfire',
'fog',
'award winner',
'beach ball',
'mat',
'white house',
'plaster',
'moped',
'football team',
'solution',
'bicyclist',
'bit',
'playground',
'darkness',
'cake',
'maple leave',
'mold',
'cracker',
'blueberry',
'rubble',
'container ship',
'pedestrian bridge',
'snail',
'parrot',
'form',
'circuit',
'highlight',
'pickup truck',
'koala',
'rain',
'system',
'weather',
'raincoat',
'soccer team',
'windshield',
'thunderstorm',
'mike',
'bird house',
'bridge',
'grandfather',
'restroom',
'animation',
'wilderness',
'clown',
'banana',
'brown',
'braid',
'dining room',
'kindergarten',
'launch event',
'purple',
'school',
'stairwell',
'brooch',
'movie poster image',
'mountain river',
'shelf',
'wicket',
'headboard',
'buddha',
'flower field',
'dugout',
'cd',
'bald eagle',
'lagoon',
'seaweed',
'agriculture',
'emergency service',
'maple tree',
'parachute',
'continent',
'amusement park',
'remote',
'bun',
'tackle',
'hospital',
'garage door',
'birthday party',
'friendship',
'go',
'mausoleum',
'jeep',
'raccoon',
'step',
'ice hockey team',
'cigarette',
'lace dress',
'forest floor',
'mall',
'captain',
'milk',
'golf course',
'meal',
'picnic table',
'sail',
'volleyball',
'canal',
'terrace',
'computer desk',
'caravan',
'hotel',
'cheerleader',
'nurse',
'museum',
'marsh',
'fox',
'plateau',
'night',
'twin',
'letter logo',
'autumn tree',
'powder',
'convention',
'creature',
'lighthouse',
'shop window',
'jacket',
'stork',
'taxi',
'trade',
'blackboard',
'olive',
'road sign',
'resort',
'snowflake',
'cemetery',
'travel',
'evening dress',
'picnic',
'drink',
'winter morning',
'football player',
'snack',
'boxing glove',
'dinner party',
'airline',
'swing',
'port',
'wheelbarrow',
'bathroom sink',
'sweater',
'ambulance',
'gear',
'oil',
'wii controller',
'array',
'home office',
'car show',
'mixture',
'profession',
'tree frog',
'square',
'facility',
'coral reef',
'sea wall',
'pizza',
'exhibit',
'demolition',
'trout',
'ring',
'coffee shop',
'bracelet',
'bean',
'lip',
'fencing',
'landscape',
'sitting',
'package',
'metal',
'bust',
'king',
'hair',
'window seat',
'wildlife',
'trunk',
'greenery',
'stencil',
'fire hydrant',
'bridesmaid',
'plaza',
'alps',
'tower bridge',
'crop top',
'crossing',
'cinema',
'pedestrian crossing',
'family',
'shopping cart',
'stomach',
'church building',
'screen door',
'skater',
'soccer field',
'kettle',
'mussel',
'raindrop',
'candy cane',
'water lily',
'flower girl',
'desert',
'enclosure',
'christmas light',
'kitchen',
'caterpillar',
'plaid',
'bath',
'bush',
'mud',
'ballet',
'knee',
'adult',
'raft',
'sea view',
'cactus',
'office chair',
'overall',
'rim',
'scaffolding',
'pig',
'cover',
'poster page',
'sprinkle',
'chandelier',
'algae',
'traffic',
'surfboard',
'book',
'filming',
'flash',
'mansion',
'camouflage',
'trouser',
'ticket',
'weed',
'cab',
'trench',
'elephant',
'huddle',
'sphere',
'christmas decoration',
'city',
'launch',
'doll',
'christmas ornament',
'fabric',
'bikini',
'biplane',
'breakfast',
'neighbourhood',
'race track',
'foliage',
'avocado',
'school bus',
'footwear',
'highway',
'ocean view',
'art vector illustration',
'wall clock',
'curtain',
'teenager',
'kitchen area',
'robot',
'tusk',
'lounge chair',
'beam',
'paddle',
'camel',
'lid',
'world map',
'city view',
'newlywed',
'cargo ship',
'yellow',
'exhibition',
'bend',
'novel',
'wool',
'ontario',
'bread',
'campus',
'coastline',
'cutting board',
'booth',
'table top',
'carpet',
'beach chair',
'workout',
'street food',
'fun',
'costumer film designer',
'gadget',
'artist',
'fishing village',
'builder',
'violinist',
'iphone',
'spider web',
'traffic sign',
'ruin',
'rescue',
'clipboard',
'seal',
'film director',
'paw',
'nursery',
'intersection',
'tomato sauce',
'taste',
'paddy field',
'christmas tree',
'wave',
'stool',
'watering can',
'rug',
'daytime',
'subway station',
'craft',
'pine forest',
'black',
'planet',
'motif',
'christmas market',
'glass window',
'college',
'wheat',
'damage',
'rectangle',
'picture frame',
'chess',
'guest room',
'street corner',
'religion',
'seed',
'puzzle',
'freeway',
'beauty',
'ocean',
'watch',
'mother',
'garage',
'quote',
'dj',
'supporter',
'hip hop artist',
'muffin',
'eiffel tower',
'cash',
'firefighter',
'cauliflower',
'bunker',
'sled',
'manicure',
'shark',
'stall',
'jungle',
'family home',
'tour bus',
'chimney',
'touchdown',
'roundabout',
'coyote',
'street scene',
'tank',
'wedding dress',
'mantle',
'bedroom window',
'coconut',
'chapel',
'goat',
'living space',
'rock wall',
'polka dot',
'railway',
'mandala',
'mango',
'lesson',
'mountain landscape',
'team photo',
'bookshelf',
'meter',
'bulldog',
'evening sun',
'stick',
'card',
'pink',
'fish pond',
'paint',
'pill',
'cart',
'pea',
'van',
'album',
'football college game',
'mountain pass',
'doughnut',
'ski slope',
'match',
'official',
'shadow',
'organ',
'celebration',
'coin',
'log cabin',
'firework display',
'present',
'twig',
'chef',
'confetti',
'footpath',
'tour',
'ponytail',
'artwork',
'race car',
'club',
'season',
'hose',
'pencil',
'aircraft',
'rock formation',
'wardrobe',
'participant',
'politician',
'engineer',
'peace',
'filter',
'sailing boat',
'water bottle',
'service dog',
'poodle',
'loki',
'statesman',
'sleeping bag',
'outskirt',
'clock',
'factory',
'oak tree',
'physician',
'color',
'room',
'stairway',
'company',
'lady',
'graph',
'faucet',
'tablecloth',
'subway train',
'chocolate chip cookie',
'headquarters',
'screw',
'goggle',
'halloween',
'city street',
'swirl',
'cord',
'forward',
'bone',
'bedding',
'archway',
'wig',
'lobby',
'mask',
'attic',
'kitchen table',
'skylight',
'fire',
'exit',
'oil painting',
'passenger',
'meditation',
'salmon',
'fedora',
'rubber stamp',
'orange juice',
'arch',
'scientist',
'stroll',
'manhattan',
'float',
'baseball uniform',
'circle',
'church',
'decker bus',
'competitor',
'zoo',
'basketball team',
'tourist',
'daughter',
'silverware',
'ceiling fan',
'birth',
'vase',
'jack',
'mushroom',
'spiral',
'cage',
'limb',
'salad',
'ad',
'control',
'earth',
'party',
'bolt',
'tractor',
'barley',
'wedding photo',
'hawk',
'warehouse',
'vegetable garden',
'chocolate cake',
'cabbage',
'floor window',
'baby shower',
'magnifying glass',
'table',
'stethoscope',
'reading',
'mission',
'croissant',
'gift box',
'rocket',
'forest road',
'cooking',
'suite',
'hill country',
'motorcycle',
'baseball player',
'angle',
'drug',
'sport association',
'championship',
'family portrait',
'florist',
'softball',
'egret',
'office',
'plywood',
'jockey',
'mosque',
'brunch',
'beanie',
'office building',
'pattern',
'calendar',
'indoor',
'pepper',
'ledge',
'trail',
'fuel',
'laptop computer',
'tennis shoe',
'deck chair',
'guitarist',
'barn',
'surgery',
'cartoon illustration',
'nebula',
'railroad',
'mountain goat',
'goose',
'car door',
'cheer',
'liquid',
'hardwood floor',
'pathway',
'acorn',
'gull',
'airliner',
'couch',
'lake house',
'spaghetti',
'promenade',
'collection',
'garden',
'bank',
'robin',
'tennis ball',
'peony',
'gymnast',
'lavender',
'deck',
'test',
'riverside',
'rapper',
'domino',
'bride',
'mouse',
'basil',
'wedding couple',
'ocean wave',
'arm',
'kitchen floor',
'grove',
'family member',
'backyard',
'raspberry',
'forest fire',
'officer',
'hibiscus',
'canyon',
'composer',
'signature',
'olive oil',
'hibiscus flower',
'rose',
'vector icon',
'sunrise',
'horseback',
'motor scooter',
'office worker',
'tradition',
'ingredient',
'washing machine',
'lighting',
'bagel',
'sailboat',
'policeman',
'mare',
'graphic',
'halloween pumpkin',
'stock',
'pilot',
'education',
'team',
'body',
'horse',
'kimono',
'bazaar',
'bag',
'recording studio',
'parsley',
'entrance',
'denim',
'vet',
'horse farm',
'charcoal',
'architecture',
'glass vase',
'puppy',
'estuary',
'television show host',
'city bus',
'shoulder',
'beast',
'balance',
'golfer',
'roadside',
'denim jacket',
'stone wall',
'counter top',
'app icon',
'toast',
'head coach',
'ham',
'warrior',
'gem',
'refrigerator',
'snowman',
'construction worker',
'coal',
'website',
'morning fog',
'mustard',
'human',
'owl',
'puppy dog',
'piggy bank',
'vegetation',
'pirate',
'action film',
'marshmallow',
'thanksgiving',
'business',
'disease',
'signage',
'greeting',
'skate park',
'tile',
'mouth',
'spinach',
'vacation',
'leader',
'shrine',
'walker',
'science fiction film',
'bill',
'rabbit',
'motor boat',
'bar',
'radio',
'barge',
'tail',
'chainsaw',
'gallery',
'rainbow',
'pasta',
'padlock',
'web',
'pastry',
'ink',
'reef',
'school uniform',
'shawl',
'treasure',
'peach',
'dinner table',
'injury',
'harbor',
'witch',
'car dealership',
'litter',
'gesture',
'documentary',
'marriage',
'sea shell',
'priest',
'dome',
'kit',
'icon',
'seaside',
'bucket',
'entertainment',
'stable',
'hat',
'puddle',
'sock',
'shopper',
'technology',
'harbour',
'orbit',
'antler',
'tube',
'flag waving',
'cook',
'tight',
'commander',
'farmland',
'switch',
'hiker',
'wedding ceremony',
'award ceremony',
'champion',
'chopstick',
'farmhouse',
'performer',
'spike',
'accident',
'cruise ship',
'passenger train',
'attraction',
'entertainer',
'rear view',
'sidewalk',
'parade',
'racing',
'plane',
'ritual',
'peacock',
'pocket',
'plum',
'drop',
'carrot',
'floor',
'sunset',
'troop',
'architect',
'coffee table',
'dust',
'outline',
'leather',
'charity event',
'heat',
'whale',
'laundry',
'coconut tree',
'crosswalk',
'pony',
'ant',
'pipe',
'string',
'coat',
'angel',
'beef',
'church tower',
'dish',
'pitch',
'cupboard',
'thermometer',
'dirt field',
'fireworks',
'minute',
'cane',
'pajama',
'flower garden',
'autumn',
'trash can',
'dachshund',
'banana tree',
'tray',
'moose',
'roadway',
'carnival',
'antenna',
'pole',
'castle wall',
'ram',
'cattle',
'hay',
'cookie',
'swimmer',
'baseball team',
'strait',
'hedge',
'jet',
'fire pit',
'octopus',
'calf',
'cube',
'opera',
'cardboard box',
'tiara',
'kitchen sink',
'prairie',
'bowl',
'galaxy',
'straw hat',
'linen',
'ski resort',
'stitch',
'street lamp',
'motorist',
'icicle',
'stain',
'flora',
'drain',
'kitchen cabinet',
'decor',
'bouquet',
'pound',
'interior design',
'nail polish',
'figurine',
'tomb',
'disc',
'twist',
'blouse',
'ribbon',
'figure',
'burger',
'cork',
'soccer goalkeeper',
'train bridge',
'drinking water',
'dew',
'baker',
'storm cloud',
'tarmac',
'tv drama',
'sponge',
'magnet',
'sailor',
'entry',
'swan',
'exercise',
'sloth',
'jewel',
'scuba diver',
'bite',
'cat tree',
'tent',
'can',
'tennis match',
'ecosystem',
'picket fence',
'palm',
'train car',
'frying pan',
'rally',
'tablet pc',
'reindeer',
'image',
'wolf',
'chin',
'conservatory',
'flood water',
'cityscape',
'beach sand',
'car park',
'pavement',
'farm field',
'swimming',
'winter storm',
'stem',
'pillow',
'inning',
'gorilla',
'desk',
'avenue',
'fern',
'money',
'pearl',
'train station',
'skillet',
'nap',
'barber',
'library',
'freezer',
'label',
'rainforest',
'parking sign',
'mirror',
'wing',
'noodle',
'press room',
'sculpture',
'tablet',
'viewer',
'prayer',
'mini',
'mechanic',
'laugh',
'rice field',
'hand',
'mustache',
'mountain road',
'catwalk',
'conference',
'cape',
'installation',
'musician',
'stream',
'machine',
'speech',
'crocodile',
'soccer match',
'town square',
'passport',
'post box',
'point',
'stone building',
'motorway',
'mix',
'dentist',
'businessperson',
'happiness',
'boat',
'vineyard',
'treadmill',
'glass wall',
'water droplet',
'coffee mug',
'graduate',
'sunflower',
'parliament',
'shepherd',
'movie',
'wine',
'orchard',
'tulip',
'motherboard',
'cup',
'broom',
'spot',
'drawing',
'polo shirt',
'graduation',
'film producer',
'moonlight',
'glow',
'film format',
't shirt',
'rock face',
'sword',
'clinic',
'festival day',
'meadow',
'staple',
'pupil',
'training ground',
'rider',
'flower',
'foal',
'wharf',
'foot bridge',
'shooting',
'top',
'mast',
'police car',
'robe',
'wedding bouquet',
'stop sign',
'birthday cake',
'glitter',
'butter',
'scooter',
'tundra',
'superhero',
'pocket watch',
'inscription',
'youngster',
'fruit tree',
'movie poster',
'engine',
'foundation',
'motorcyclist',
'take',
'woman',
'antelope',
'country artist',
'road trip',
'typewriter',
'tuxedo',
'brand',
'pine',
'bathroom',
'paradise',
'texture',
'balloon',
'dining table',
'home',
'computer screen',
'actor',
'clip',
'tv tower',
'panorama',
'summit',
'cat',
'plot',
'eagle',
'dancer',
'pup',
'studio shot',
'tear',
'bird bath',
'classroom',
'bookstore',
'city wall',
'tv programme',
'blade',
'easel',
'buttercream',
'sweet',
'designer',
'diamond',
'handshake',
'herb',
'corn field',
'seafront',
'concrete',
'street artist',
'gas',
'stamp',
'window display',
'paper',
'note',
'pint',
'quarry',
'research',
'fixture',
'manager',
'soil',
'leopard',
'board game',
'ladder',
'stop light',
'island',
'ramp',
'football match',
'icing',
'drill',
'currency',
'summer evening',
'topping',
'pyramid',
'pomegranate',
'cell',
'ivy',
'squad',
'scenery',
'computer',
'locomotive',
'surf',
'mascot',
'dune',
'path',
'duck',
'twilight',
'wire',
'bow tie',
'strike',
'cormorant',
'car wash',
'crane',
'market',
'philosopher',
'alarm clock',
'camera',
'birch',
'greeting card',
'plain',
'clay',
'donut',
'lock',
'moth',
'laboratory',
'fan',
'violin',
'jazz fusion artist',
'mountain biker',
'terrain',
'magazine',
'pickup',
'comedy film',
'smartphone',
'film',
'bed',
'microwave oven',
'tournament',
'lawn',
'car window',
'alligator',
'screen',
'jetty',
'shopping bag',
'landscape view',
'cabinetry',
'friendly match',
'thing',
'petal',
'shopping center',
'transport',
'ballet dancer',
'shoreline',
'princess',
'car seat',
'parking meter',
'green',
'vodka',
'band',
'rock',
'costume',
'warning sign',
'strip',
'plaque',
'wheelchair',
'headband',
'ginger',
'dice',
'media',
'hairdresser',
'press',
'living room',
'stove',
'player',
'cherry',
'workshop',
'carving',
'embroidery',
'doodle',
'adventure',
'rugby player',
'monument',
'brush',
'marker',
'loft',
'postcard',
'collage',
'ball',
'professor',
'dresser',
'gig',
'festival',
'blackbird',
'makeup artist',
'video camera',
'sticker',
'peak',
'wildflower',
'santa hat',
'rodeo',
'wedding photographer',
'guy',
'staff',
'waterfall',
'operation',
'defender',
'falcon',
'haze',
'individual',
'gentleman',
'greyhound',
'rocking chair',
'rice',
'garbage',
'platter',
'chocolate',
'splash',
'business suit',
'cheetah',
'valley',
'maze',
'trampoline',
'garland',
'slalom',
'unicorn',
'tree stump',
'painting',
'romance',
'fight',
'alcohol',
'ghost',
'fondant',
'spa',
'shutter',
'death',
'demonstration',
'cotton',
'pier',
'flea market',
'history',
'savannah',
'fist',
'aisle',
'crew',
'jug',
'pose',
'anchor',
'teapot',
'boat house',
'business team',
'tripod',
'bee',
'pebble',
'mattress',
'canvas',
'hallway',
'campaign',
'pod',
'lake district',
'article',
'white',
'sofa',
'honey',
'marathon',
'pancake',
'tourist attraction',
'wedding gown',
'battle',
'shelving',
'sea',
'sheet music',
'pie',
'yarn',
'construction site',
'flyer',
'tie',
'star',
'lettuce',
'martial artist',
'dart',
'straw',
'reflection',
'conference room',
'temperature',
'rugby',
'mosquito',
'physicist',
'rock climber',
'crash',
'backdrop',
'toilet seat',
'sand castle',
'water park',
'toy car',
'waste',
'luxury',
'hangar',
'rv',
'tree trunk',
'board',
'gold',
'project picture',
'cap',
'cottage',
'relief',
'attire',
'microscope',
'battery',
'roll',
'line',
'parking garage',
'crystal',
'broadcasting',
'brick wall',
'lab',
'flooring',
'meeting',
'3d cg rendering',
'desktop computer',
'cowboy',
'sailing ship',
'junction',
'hairstyle',
'homework',
'profile',
'model',
'flower pot',
'street light',
'salt lake',
'maple',
'space',
'blizzard',
'throw',
'zebras',
'brochure',
'constellation',
'beak',
'kilt',
'pond',
'blue sky',
'sneaker',
'sand dune',
'morning sun',
'almond',
'grill',
'curl',
'basketball girl game',
'chameleon',
'toilet bowl',
'prince',
'keyboard',
'queen',
'computer monitor',
'writing',
'crown',
'basilica',
'kiss',
'house',
'parking',
'football competition',
'shell',
'sport equipment',
'comedy',
'baboon',
'vendor',
'rise building',
'wrap',
'food truck',
'cat bed',
'rickshaw',
'flare',
'teal',
'nectar',
'eclipse',
'vehicle',
'steam locomotive',
'gorge',
'cow',
'christmas card',
'demonstrator',
'memorial',
'towel',
'jewellery',
'train',
'frisbee',
'baseball game',
'fur',
'afternoon sun',
'community',
'sparkler',
'bandage',
'firework',
'dollar',
'pasture',
'video',
'bus',
'tree house',
'seashore',
'field',
'hamburger',
'souvenir',
'hedgehog',
'worm',
'pine cone',
'osprey',
'dinosaur',
'vegetable',
'junk',
'poster',
'army',
'winger',
'bundle',
'stage',
'growth',
'wedding party',
'service',
'blanket',
'ruler',
'eye',
'credit card',
'castle',
'diner',
'hut',
'elk',
'hard rock artist',
'nun',
'dog breed',
'nest',
'drama film',
'number icon',
'water tank',
'giraffe',
'altar',
'pavilion',
'tv personality',
'suv',
'street vendor',
'street sign',
'ditch',
'debris',
'foam',
'takeoff',
'spice',
'mountain lake',
'tea',
'orchestra',
'spacecraft',
'counter',
'abbey',
'mountain',
'hydrangea',
'racer',
'orange tree',
'tide',
'cowboy hat',
'rapid',
'town',
'wild',
'herd',
'vein',
'driveway',
'jar',
'bark',
'illustration',
'horror film',
'corn',
'stroller',
'industry',
'mountain stream',
'gym',
'neckline',
'pan',
'client',
'spectator',
'eggplant',
'camper',
'fawn',
'hoodie',
'meat',
'lemonade',
'food market',
'slum',
'comic book character',
'flower market',
'love',
'palace',
'gun',
'heel',
'shopping street',
'shooting basketball guard',
'family photo',
'rooftop',
'laundry basket',
'airport runway',
'horn',
'face mask',
'flight',
'appetizer',
'violet',
'country lane',
'cement',
'instrument',
'tv actor',
'spark',
'celebrity',
'award',
'country house',
'standing',
'auction',
'date',
'engagement',
'puck',
'advertisement',
'chair',
'zebra',
'driftwood',
'bumblebee',
'maple leaf',
'bonnet',
'orange',
'water tower',
'door',
'singer',
'floor plan',
'discussion',
'theatre',
'pilgrim',
'mug',
'branch',
'window sill',
'baseball pitcher',
'bakery',
'lollipop',
'basketball player',
'toilet paper',
'chalkboard',
'cabin',
'sign',
'night sky',
'cannon',
'fishing net',
'submarine',
'suit',
'fur coat',
'wine bottle',
'folder',
'street art',
'suspension bridge',
'evening sky',
'billboard',
'postage stamp',
'newspaper',
'transportation',
'surgeon',
'light',
'park',
'horizon',
'road',
'sand bar',
'trumpet',
'lounge',
'cloud forest',
'birthday celebration',
'balcony',
'anime',
'beehive',
'umbrella',
'goldfish',
'baseball cap',
'waterhole',
'ceiling',
'carousel',
'backpack',
'plant pot',
'atmosphere',
'sunflower field',
'spire',
'vision',
'woodpecker',
'chip',
'pool table',
'lotus flower',
'cone',
'humpback whale',
'reservoir',
'hunt',
'piano',
'plate',
'dining area',
'luggage',
'skier',
'dance floor',
'crow',
'stair',
'overpass',
'opera house',
'bear',
'jazz artist',
'water',
'vessel',
'cast',
'yard',
'cathedral',
'basketball hoop',
'graveyard',
'sound',
'berry',
'onlooker',
'fauna',
'birch tree',
'retail',
'hill',
'skeleton',
'journalist',
'frost',
'basket',
'nail',
'dusk',
'trash',
'dawn',
'clover',
'hen',
'volcano',
'basketball coach',
'home decor',
'charge',
'haircut',
'sense',
'university',
'lizard',
'daisy',
'tablet computer',
'grass field',
'prison',
'metal artist',
'bathroom mirror',
'window frame',
'chest',
'flavor',
'pop country artist',
'market square',
'monkey',
'blog',
'deer',
'speech bubble',
'dog',
'independence day',
'girl',
'boy',
'tartan',
'furniture',
'appliance',
'office window',
'fish boat',
'sand box',
'tv sitcom',
'drama',
'sleigh',
'depression',
'paper towel',
'baseball',
'protestor',
'grape',
'wedding cake',
'invitation',
'accessory',
'pick',
'grandparent',
'racket',
'tea plantation',
'outdoors',
'egg',
'glass bowl',
'sun',
'organization',
'lion',
'panel',
'station',
'wallpaper',
'helicopter',
'salt',
'vanity',
'patio',
'lunch',
'street performer',
'mountain range',
'soup',
'bacon',
'power station',
'cantilever bridge',
'hummingbird',
'shirt',
'rope',
'hip',
'chalk',
'pendant',
'choir',
'tv',
'lichen',
'railway bridge',
'art gallery',
'bartender',
'wagon',
'baby elephant',
'accordion',
'horseshoe',
'building site',
'clutch',
'harvest',
'savanna',
'geranium',
'business woman',
'paddock',
'patch',
'beech tree',
'war',
'suburbs',
'hospital bed',
'motorcycle racer',
'moss',
'gravel',
'government agency',
'dollar bill',
'father',
'fjord',
'concert',
'nut',
'wedding photography',
'finish line',
'home plate',
'food',
'nose',
'thumb',
'village',
'dining room table',
'bumper',
'monster',
'blackberry',
'lime',
'conflict',
'gala',
'wallet',
'wrist',
'hug',
'mermaid',
'lava',
'lawyer',
'folk rock artist',
'arena',
'onion',
'toothbrush',
'fashion',
'perfume',
'flip',
'triangle',
'woodland',
'mail',
'grasshopper',
'studio',
'wood floor',
'den',
'racquet',
'cello',
'lemur',
'astronaut',
'glass table',
'blood',
'dvd',
'planter',
'silver',
'leash',
'master bedroom',
'forest',
'batter',
'shoe',
'engraving',
'opening',
'product',
'toe',
'cocktail',
'mallard duck',
'bike ride',
'oasis',
'wedding ring',
'cinematographer',
'holly',
'autograph',
'fence',
'ice cube',
'cove',
'pineapple',
'aurora',
'glass bead',
'produce',
'apartment building',
'cob',
'miniature',
'cockpit',
'flashlight',
'frog',
'sheep',
'groom',
'steel',
'watermelon',
'clip art',
'paper plate',
'ostrich',
'contour',
'mural',
'cub',
'paisley bandanna',
'winery',
'turn',
'handle',
'satellite',
'post',
'pork',
'child',
'asphalt',
'grocery store',
'vulture',
'trolley',
'nightclub',
'brick',
'trailer',
'compass',
'cereal',
'cafe',
'cartoon character',
'sugar',
'fiction book',
'glass floor',
'umpire',
'guitar',
'hamster',
'protester',
'airplane',
'garment',
'blazer',
'railway line',
'wedding',
'shoe box',
'parking lot',
'construction',
'graduation ceremony',
'tram',
'telescope',
'copper',
'pain',
'autumn forest',
'guest house',
'partner',
'crayon',
'dip',
'boot',
'corridor',
'computer keyboard',
'hockey player',
'chicken coop',
'bus station',
'gathering',
'ankle',
'bunk bed',
'wood table',
'football coach',
'monarch',
'pharmacy',
'legging',
'mannequin',
'female',
'train track',
'stack',
'canopy',
'design element',
'grandmother',
'symbol',
'beach hut',
'zucchini',
'bomb',
'businessman',
'skyscraper',
'tongue',
'case',
'sparkle',
'highland',
'ballroom',
'prom',
'estate',
'customer',
'archipelago',
'cheese',
'debate',
'carriage',
'bulldozer',
'pumpkin',
'sitting room',
'gas station',
'wedding reception',
'camp',
'dog bed',
'tower',
'property',
'river bed',
'pop latin artist',
'fridge',
'wine glass',
'coast',
'beer',
'tow truck',
'fire truck',
'mountain bike',
'thigh',
'heron',
'boat ride',
'gondola',
'turquoise',
'lake',
'llama',
'kitty',
'tin',
'waiting room',
'coffee cup',
'socialite',
'guard',
'tap',
'waterway',
'forehead',
'list',
'erosion',
'box',
'sea lion',
'pollen',
'dam',
'wasp',
'salon',
'tennis tournament',
'flower box',
'aquarium',
'rain cloud',
'clothing store',
'lead singer',
'cupcake',
'tortoise',
'lettering',
'sport facility',
'dance',
'dog house',
'nature',
'football',
'rooster',
'footballer',
'railway track',
'crowd',
'fishing rod',
'silhouette',
'wind turbine',
'sari',
'bus window',
'cloud',
'charity',
'medal',
'yoga',
'event',
'veil',
'fashion menswear milan week',
'news',
'knife',
'print',
'screen tv',
'walnut',
'fungus',
'ice cream',
'computer mouse',
'play',
'tribe',
'picture',
'video game',
'business card',
'music festival',
'rack',
'envelope',
'shower',
'dirt road',
'mine',
'oyster',
'monarch butterfly',
'dude',
'fruit salad',
'podium',
'fork',
'lace',
'test match',
'boulder',
'cricket player',
'staircase',
'peninsula',
'shopping',
'popcorn',
'oak',
'market stall',
'pine tree',
'mountaineer',
'student',
'closet',
'hood',
'handstand',
'centerpiece',
'insect',
'patient',
'makeover',
'tennis player',
'sheet',
'park bench',
'apple',
'organism',
'hook',
'turkey',
'tangerine',
'sibling',
'shopping mall',
'bird',
'scarf',
'smoothie',
'net',
'grass',
'napkin',
'ray',
'eyebrow',
'laptop keyboard',
'motorbike',
'woman hand',
'oven',
'book cover',
'easter egg',
'microwave',
'sand',
'snapshot',
'soccer ball',
'makeup',
'knight',
'bowling ball',
'shower curtain',
'flame',
'lightning',
'running',
'power plant',
'crib',
'cartoon',
'moat',
'fashion girl',
'wedding invitation',
'bottle',
'cliff',
'monastery',
'file photo',
'apartment',
'casino',
'cream',
'sweatshirt',
'storm',
'cruise',
'teddy bear',
'shovel',
'wind farm',
'writer',
'dock',
'professional',
'hotel room',
'job',
'monitor',
'donkey',
'pass',
'interview',
'duchess',
'mark',
'plank',
'beard',
'zombie',
'trio',
'channel',
'cricket team',
'windmill',
'vest',
'diagram',
'cable',
'winter scene',
'golden gate bridge',
'buffalo',
'studio portrait',
'pagoda',
'whiskey',
'freight train',
'kite',
'future',
'steam train',
'phone box',
'headset',
'wood',
'snowboarder',
'paper bag',
'slide',
'grapefruit',
'seating',
'morning',
'bronze sculpture',
'theatre actor',
'stump',
'jean',
'landmark',
'jam',
'waist',
'watercolor',
'hammock',
'light fixture',
'ice',
'basin',
'beverage',
'shelter',
'premiere',
'mound',
'ear',
'bronze',
'sunlight',
'street',
'energy',
'barn door',
'hike',
'fleet',
'claw',
'beach',
'pepperoni',
'bin',
'trainer',
'buffet',
'archive',
'toddler',
'referee',
'bay window',
'dove',
'production company',
'evening light',
'gate',
'farm',
'reed',
'fruit stand',
'explorer',
'snow storm',
'throw pillow',
'button',
'display case',
'bookcase',
'lead',
'lipstick',
'basketball court',
'cargo',
'ensemble',
'pope',
'clock tower',
'teen',
'speaker',
'rat',
'laptop',
'ski',
'mess',
'stadium',
'ferry boat',
'bunny',
'waterfront',
'downtown',
'sink',
'press conference',
'dinner',
'condiment',
'thread',
'audience',
'grid',
'car',
'plastic',
'people',
'barbecue',
'pigeon',
'urinal',
'seagull',
'volunteer',
'hockey',
'fir tree',
'pollution',
'trial',
'collar',
'area',
'meeting room',
'circus',
'yogurt',
'orangutan',
'viaduct',
'comedian',
'drone',
'scissor',
'pop rock artist',
'biscuit',
'panda',
'water feature',
'air balloon',
'remote control',
'watercolor painting',
'show',
'walk',
'post office',
'bike path',
'rap gangsta artist',
'microphone',
'crack',
'sunset sky',
'glass',
'tv show',
'cartoon style',
'stripe',
'foyer',
'signal',
'calligraphy',
'bulb',
'gardener',
'coffee bean',
'spider',
'tapestry',
'city skyline',
'necklace',
'kitten',
'traveler',
'veteran',
'frosting',
'fry',
'tennis court',
'tank top',
'butterfly house',
'mist',
'drummer',
'water level',
'scale',
'baseball glove',
'music video performer',
'champagne',
'camping',
'clothing',
'water drop',
'telephone box',
'pen',
'morning mist',
'fire engine',
'porch',
'opening ceremony',
'style',
'palm tree',
'fashion show',
'universe',
'scratch',
'axe',
'ottoman',
'explosion',
'rib',
'boutique',
'game',
'cucumber',
'fruit',
'stone bridge',
'nature reserve',
'track',
'train window',
'punch',
'telephone pole',
'velvet',
'sauce',
'moon',
'contrast',
'flamingo',
'bat',
'vending machine',
'ship',
'equestrian',
'shade',
'comforter',
'pallet',
'sparrow',
'wii',
'glaze',
'grocery',
'steeple',
'soccer player',
'contract',
'advertising',
'runner',
'chimpanzee',
'world',
'seat',
'project',
'chihuahua',
'bubble',
'willow',
'pedestal',
'soul hip hop artist',
'curb',
'drawer',
'leaf',
'banner',
'launch party',
'coach',
'government',
'snowball',
'toy',
'portrait',
'doctor',
'whiteboard',
'electronic',
'tiger',
'graffiti',
'column',
'nightstand',
'whistle',
'maxi dress',
'bench',
'wetsuit',
'bird feeder',
'football game',
'basketball',
'class',
'bathroom door',
'store window',
'text message',
'wreath',
'street view',
'binocular',
'pet',
'facade',
'drought',
'lemon',
'new year',
'night view',
'airplane window',
'specie',
'rule',
'jaw',
'wheat field',
'diet',
'pop artist',
'habitat',
'screenshot',
'scoreboard',
'shore',
'mane',
'quilt',
'ski lift',
'orchid',
'turban',
'christmas',
'airport',
'marina',
'glass door',
'glass bottle',
'restaurant',
'conductor',
'logo',
'sleep',
'tape',
'tomato',
'river bank',
'lilac',
'tooth',
'training',
'pottery',
'shop',
'steam engine',
'mason jar',
'base',
'procession',
'border',
'shoot',
'footprint',
'hotdog',
'bull',
'stocking',
'recreation',
'automobile model',
'design',
'country pop artist',
'river',
'retriever',
'department store',
'auditorium',
'sport car',
'supermarket',
'belt',
'cricket',
'window box',
'dress shirt',
'letter',
'residence',
'megaphone',
'pant',
'wildfire',
'bird nest',
'crab',
'swimsuit',
'candle',
'funeral',
'mill',
'national park',
'plant',
'cop',
'power line',
'perch',
'blue',
'finger',
'ferris wheel',
'globe',
'skateboard',
'helmet',
'movie theater',
'uniform',
'hammer',
'material',
'kid',
'well',
'butterfly',
'sideline',
'fashion fall show',
'planet earth',
'lift',
'male',
'sauna',
'gray',
'flour',
'sand sculpture',
'program',
'cabinet',
'infant',
'wheel',
'aircraft model',
'dough',
'garlic',
'skate',
'arrow',
'wrapping paper',
'ripple',
'lamp',
'iron',
'banknote',
'beaver',
'ferry',
'courtyard',
'bassist',
'countryside',
'steak',
'comfort',
'boxer',
'laundry room',
'campsite',
'brick building',
'golf',
'subway',
'headphone',
'fort',
'handbag',
'drum',
'flood',
'saddle',
'bass',
'labyrinth',
'needle',
'sun ray',
'app',
'menu',
'president',
'cardigan',
'dandelion',
'wetland',
'ice hockey player',
'number',
'city hall',
'fishing',
'portrait session',
'pug',
'key',
'art print',
'minister',
'hurdle',
'emergency',
'painting artist',
'flag pole',
'evening',
'purse',
'recipe',
'golf ball',
'coloring book',
'mountain peak',
'senior',
'holiday',
'bud',
'cousin',
'pantry',
'lap',
'skin',
'flag',
'tissue paper',
'ridge',
'wire fence',
'surfer',
'climber',
'photograph',
'sewing machine',
'cooler',
'actress',
'apple tree',
'cancer',
'starfish',
'automobile make',
'dumbbell',
'brace',
'tunnel',
'window',
'paint artist',
'composition',
'school student',
'condo',
'convertible',
'cushion',
'selfie',
'territory',
'guide',
'tree',
'court',
'shrimp',
'stone house',
'dress',
'eyelash',
'juice',
'broccoli',
'chain',
'tourism',
'mountain top',
'concept car',
'film premiere',
'light bulb',
'cafeteria',
'badge',
'flower bed',
'theater',
'root',
'racecar driver',
'basketball boy game',
'glove',
'skyline',
'wall',
'glacier',
'airport terminal',
'bug',
'trim',
'railway station',
'briefcase',
'flat',
'fountain',
'person',
'lane',
'asparagus',
'art',
'lantern',
'dishwasher',
'director',
'snake',
'lecture',
'game controller',
'tree branch',
'pub',
'bathing suit',
'queue',
'belly',
'poppy',
'bow',
'pitcher',
'ice cream cone',
'cave',
'candy',
'road bridge',
'host',
'traffic jam',
'earring',
'file',
'foot',
'watermark overlay stamp',
'mailbox',
'supercar',
'railing',
'bedroom',
'seafood',
'waffle',
'bronze statue',
'plan',
'flow',
'marble',
'basketball game',
'automobile',
'scene',
'cypress tree',
'soldier',
'skateboarder',
'glass building',
'cherry tree',
'pump',
'grain',
'wildebeest',
'loop',
'frame',
'bathtub',
'saxophone',
'diver',
'stalk',
'lily',
'bead',
'alley',
'flock',
'family room',
'manufacturing',
'pointer',
'worker',
'navy',
'potato',
'teacher',
'photography',
'dolly',
'boardwalk',
'water fountain',
'athlete',
'side dish',
'bay',
'ice hockey',
'phone',
'hero',
'face',
'gold medal',
'blind',
'swamp',
'researcher',
'swim',
'meatball',
'iguana',
'leather jacket',
'jellyfish',
'site',
'smoke',
'traffic signal',
'melon',
'beetle',
'calculator',
'skirt',
'plantation',
'sculptor',
'barrier',
'catcher',
'security guard',
'sketch',
'awning',
'steering wheel',
'mountain view',
'bus stop',
'pool',
'leg',
'spotlight',
'apron',
'mineral',
'inlet',
'sleeve',
'torch',
'emotion',
'march',
'police officer',
'performance',
'lamp post',
'fishing boat',
'summer',
'presentation',
'saucer',
'suitcase',
'supermodel',
'goalkeeper',
'shrub',
'rock artist',
'document',
'beach house',
'man',
'blue artist',
'cigar',
'railroad track',
'gown',
'mosaic',
'bungalow',
'alphabet',
'baseball field',
'shed',
'pedestrian',
'rail',
'soap',
'kitchen counter',
'dessert',
'dunk',
'blossom',
'conversation',
'fruit market',
'glass jar',
'military',
'beer bottle',
'photographer',
'tennis racket',
'competition',
'escalator',
'bell tower',
'stilt',
'ballerina',
'television',
'feather',
'fence post',
'rear',
'dahlia',
'red carpet',
'tub',
'hole',
'fortress',
'pack',
'telephone',
'cardboard',
'city park',
'platform',
'college student',
'arch bridge',
'wind',
'blender',
'bloom',
'ice rink',
'birthday',
'raven',
'fairy',
'embankment',
'hall',
'flower shop',
'suburb',
'barrel',
'biker',
'steam',
'dragonfly',
'formation',
'electricity',
'business people',
'symmetry',
'walkway',
'fisherman',
'gas mask',
'loch',
'youth',
'hanger',
'dot',
'fish',
'street market',
'animation film',
'crime fiction film',
'boar',
'emblem',
'halloween costume',
'kangaroo',
'couple',
'spoon',
'squirrel',
'neon sign',
'sky',
'office desk',
'beauty salon',
'breakwater',
'fashion look',
'toaster',
'author',
'news conference',
'outdoor',
'canoe',
'dragon',
'tool',
'shopping centre',
'ladybug',
'swimming pool',
'landscaping',
'ski pole',
'red',
'truck',
'fly',
'temple',
'level',
'sunday',
'railroad bridge',
'car mirror',
'lawn mower',
'flute',
'aircraft carrier',
'fashion menswear london week',
'sunshine',
'tile floor',
'skull',
'fossil',
'flower arrangement',
'diaper',
'sea turtle',
'cherry blossom',
'fireman',
'shack',
'lens',
'waiter',
'animal',
'basement',
'snow',
'autumn park',
'glass box',
'kick',
'head',
'anniversary',
'vine',
'back',
'paper lantern',
'fish tank',
'cellphone',
'silk',
'coral',
'notebook',
'photo',
'gazebo',
'ketchup',
'driver',
'farmer',
'bonfire',
'chestnut',
'photoshoot',
'football field',
'olive tree',
'pheasant',
'sandal',
'toilet',
'fireplace',
'music',
'deity',
'fish market',
'fig',
'bell',
'neck',
'grave',
'villa',
'cyclist',
'crate',
'grey',
'asphalt road',
'soccer',
'hostel',
'municipality',
'courthouse',
'roof',
'end table',
'pot',
'sedan',
'structure',
'folk artist',
'sport',
'sport team',
'protest',
'syringe',
'fashion designer',
'jersey',
'heart shape',
'kayak',
'stare',
'sit with',
'direct',
'read',
'photograph',
'spin',
'teach',
'laugh',
'carve',
'grow on',
'warm',
'watch',
'stretch',
'smell',
'decorate',
'shine',
'light',
'dance',
'send',
'park',
'chase',
'collect',
'lead',
'kiss',
'lead to',
'lick',
'smile',
'cheer',
'sit',
'point',
'block',
'rock',
'drop',
'cut',
'ski',
'wrap',
'lose',
'serve',
'provide',
'sleep',
'dress',
'embrace',
'burn',
'pack',
'stir',
'create',
'touch',
'wash',
'stick',
'reveal',
'shop',
'train',
'paint',
'groom',
'hunt',
'bloom',
'play',
'pay',
'brush',
'shoot',
'hold',
'picture',
'carry',
'sip',
'contain',
'turn',
'pour',
'pitch',
'give',
'add',
'blow',
'look in',
'show',
'walk',
'illuminate',
'kneel',
'cover',
'drag',
'post',
'present',
'fit',
'operate',
'fish',
'race',
'write',
'deliver',
'peel',
'push',
'run',
'sit around',
'buy',
'jump',
'walk on',
'attend',
'clean',
'sell',
'ride on',
'mount',
'host',
'dry',
'plant',
'sing',
'row',
'shake',
'perch',
'ride',
'fight',
'skateboard',
'live',
'call',
'surround',
'practice',
'play on',
'work on',
'step',
'relax',
'hit',
'fall in',
'flow',
'greet',
'launch',
'wear',
'hang on',
'drive',
'sit in',
'break',
'learn',
'fly',
'connect',
'display',
'locate',
'compete',
'go for',
'sail',
'lift',
'toast',
'help',
'run on',
'reflect',
'pose',
'scratch',
'frame',
'dribble',
'herd',
'enter',
'exit',
'place',
'inspect',
'build',
'pick',
'fill',
'grind',
'skate',
'offer',
'float',
'sit by',
'stand',
'release',
'rest',
'singe',
'climb',
'tie',
'mark',
'lay',
'stand around',
'capture',
'set',
'land',
'swinge',
'run in',
'kick',
'lean',
'head',
'sign',
'approach',
'swim',
'close',
'crash',
'control',
'fall',
'remove',
'repair',
'open',
'appear',
'travel',
'load',
'miss',
'check',
'surf',
'moor',
'smoke',
'drink',
'board',
'seat',
'feed',
'rise',
'sit on',
'swing',
'grow',
'strike',
'date',
'slide',
'share',
'graze',
'jump in',
'lie',
'extrude',
'roll',
'move',
'gather',
'eat',
'pull',
'run through',
'squeeze',
'lay on',
'draw',
'play with',
'wave',
'assemble',
'perform',
'march',
'score',
'attach',
'adjust',
'hang',
'hug',
'sleep on',
'throw',
'live in',
'talk',
'pet',
'work',
'run with',
'see',
'flip',
'catch',
'cook',
'receive',
'celebrate',
'look',
'classic',
'bridal',
'indoor',
'industrial',
'teenage',
'mini',
'grassy',
'aged',
'long',
'warm',
'light',
'handsome',
'happy',
'three',
'pregnant',
'circular',
'urban',
'silver',
'ceramic',
'3d',
'green',
'blonde',
'golden',
'dark',
'tropical',
'ripe',
'deep',
'fat',
'musical',
'giant',
'medical',
'medieval',
'bare',
'stunning',
'bold',
'geographical',
'huge',
'plastic',
'foggy',
'stormy',
'gothic',
'biological',
'empty',
'clear',
'antique',
'pink',
'steep',
'brown',
'striped',
'aerial',
'rainy',
'cool',
'flying',
'commercial',
'purple',
'trendy',
'blank',
'haired',
'dead',
'wooden',
'flat',
'high',
'beige',
'panoramic',
'angry',
'dozen',
'rural',
'solar',
'big',
'small',
'stained',
'thick',
'many',
'fresh',
'clean',
'strong',
'abstract',
'crowded',
'retro',
'dry',
'gorgeous',
'martial',
'modern',
'blue',
'cloudy',
'low',
'four',
'outdoor',
'single',
'much',
'beautiful',
'snowy',
'pretty',
'new',
'short',
'sunny',
'closed',
'rocky',
'red',
'two',
'double',
'male',
'gray',
'five',
'colorful',
'automotive',
'various',
'one',
'old',
'rusty',
'tall',
'wild',
'narrow',
'natural',
'several',
'frozen',
'textured',
'lush',
'young',
'hot',
'mixed',
'white',
'float',
'quiet',
'round',
'bright',
'religious',
'female',
'historical',
'shiny',
'traditional',
'tourist',
'yellow',
'bald',
'coastal',
'lovely',
'little',
'broken',
'romantic',
'wide',
'royal',
'rich',
'open',
'cute',
'ancient',
'cold',
'political',
'elderly',
'gold',
'full',
'rustic',
'metallic',
'floral',
'sad',
'wet',
'fancy',
'senior',
'tiny',
'stylish',
'large',
'frosty',
'orange',
'transparent',
'electronic',
'shallow',
'scared',
'armed',
'dirty',
'historic',
'black',
'few',
'windy',
'some',
'square',
'ornamental',
'sandy',
'thin']

tra_array = np.array(tra_array)


